In double boiler over hot, not boiling water, heat milk, butter and chocolate until the chocolate melts (it may appear curdled).
Combine sugar, flour and salt. Sprinkle over chocolate; DO NOT STIR. Cover and cook on medium-low for 20 minutes. Beat with a spoon until smooth.
Quickly add egg yolks; beating well. Cook another 2 minutes. Remove from heat and stir in vanilla.
Serve with whipped cream, if desired.